#ifndef GLOBAL_H
#define GLOBAL_H
#include <memory>
#include <ctime>
#include <nlohmann/json.hpp>
#include <boost/log/trivial.hpp>


//在redis中的统计本服务连接数与本服务用户set的key_name


class tcp_connection;
struct full_msg{
    unsigned short message_id;
    unsigned short body_len;    //这个没有意义了，原始数据已经反序列化程json对象了
    std::shared_ptr<tcp_connection> tcp_con;    //哪个连接发来的消息
    
    //char *body;     //这个body成为nlohmann::json类型的吧
    nlohmann::json req_json;
    ~full_msg(){
        //这里面的body数据需要自己管控
        //delete body;
    }
};
using u_short=unsigned short;

//收到的包类型
enum recv_package_id{
   FILE_SEND_APPLY=1000,    //文件上传请求
   FILE_SLICE,          //文件切片上传
   FILE_DOWNLOAD_APPLY, //文件下载请求
   
};

//回的包类型
enum response_package_id{
   RESPONSE_FILE_SEND_APPLY=1000,
   RESPONSE_FILE_SLICE,
   RESPONSE_DOWNLOAD_ADDPLY,
   RESPONSE_DOWNLOAD_SLICE,

};

//文件切片类型----接收与发送共用
enum recv_file_slice_flag{
    BEFORE_END=0,
    END,
    
};


#endif

